package com.lx.util.secure.algorithm.coder;

public enum CoderType{
    NONE(null),DEFAULT(StringCoder.getCoder()),BASE64(Base64.getCoder()), HEX(Hex.getCoder()),URL(Url.getCoder());

    private Coder coder;
    CoderType(Coder coder){
        this.coder = coder;
    }


    public byte[] encode(byte[] bytes) {
        return coder.encode(bytes);
    }

    public byte[] encode(String data) {
        return coder.encode(data);
    }

    public String encodeToString(byte[] bytes) {
        return coder.encodeToString(bytes);
    }

    public String encodeToString(String data) {
        return coder.encodeToString(data);
    }

    public byte[] decode(byte[] bytes) {
        return coder.decode(bytes);
    }

    public byte[] decode(String data) {
        return coder.decode(data);
    }

    public String decodeToString(byte[] bytes) {
        return coder.decodeToString(bytes);
    }

    public String decodeToString(String data) {
        return coder.decodeToString(data);
    }

}
